package wawi.actions;

import wawi.db.DbConnector;

public class BestellungPosition implements Comparable<BestellungPosition>
{
	private int bestellung;
	private int ean;
	private int menge;
	private int geliefert;
	private float ekpreis;
	
	public BestellungPosition()
	{
		super();
		bestellung = -1;
		ean = -1;
		menge = 0;
		geliefert = 0;
		ekpreis = 0;
	}

	public int getBestellung() {
		return bestellung;
	}

	public void setBestellung(int bestellung) {
		this.bestellung = bestellung;
	}

	public int getEan() {
		return ean;
	}

	public void setEan(int ean) {
		this.ean = ean;
	}

	public int getMenge() {
		return menge;
	}

	public void setMenge(int menge) {
		this.menge = menge;
	}
	
	public int getGeliefert() {
		return geliefert;
	}

	public void setGeliefert(int geliefert) {
		this.geliefert = geliefert;
	}
	
	
	
	public float getEkpreis() {
		return ekpreis;
	}

	public void setEkpreis(float ekpreis) {
		this.ekpreis = ekpreis;
	}

	public int getAusstehend()
	{
		return menge - geliefert;
	}

	public String getEntfernenUrl()
	{
		return String.format("<a href=\"Bestellung_posDelete.action?ean=%d&bestellung=%d\">Bearbeiten</a>", ean, bestellung);
	}
	
	
	private ArtikelDetails tmp_artikelDetails = null;
	
	public synchronized ArtikelDetails getArtikelDetails()
	{
		if (tmp_artikelDetails==null)
			tmp_artikelDetails = DbConnector.getInstance().getArtikelDetailsWithEan(ean);
		
		return tmp_artikelDetails;
	}
	
	public String getLieferungTextFieldName()
	{
		return String.format("liefer_%d_%d_", ean, bestellung);
	}
	
	public float getPreis()
	{
		return ((float)menge) * getArtikelDetails().getArtikel().getPreisEK();
	}
	
	
	public int compareTo (BestellungPosition another)
	{				
		return getArtikelDetails().compareTo(another.getArtikelDetails());
	}
	
}
